/**
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright (c) 2011-2013 ForgeRock AS. All Rights Reserved
 *
 * The contents of this file are subject to the terms
 * of the Common Development and Distribution License
 * (the License). You may not use this file except in
 * compliance with the License.
 *
 * You can obtain a copy of the License at
 * http://forgerock.org/license/CDDLv1.0.html
 * See the License for the specific language governing
 * permission and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL
 * Header Notice in each file and include the License file
 * at http://forgerock.org/license/CDDLv1.0.html
 * If applicable, add the following below the CDDL Header,
 * with the fields enclosed by brackets [] replaced by
 * your own identifying information:
 * "Portions Copyrighted [year] [name of copyright owner]"
 *
 */

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2013.01.21 at 10:40:04 AM PST 
//


package com.sun.identity.entitlement.xacml3.core;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the com.sun.identity.entitlement.xacml3.core package. 
 * <p>An ObjectFactory allows you to programatically 
 * construct new instances of the Java representation 
 * for XML content. The Java representation of XML 
 * content can consist of schema derived interfaces 
 * and classes representing the binding of schema 
 * type definitions, element declarations and model 
 * groups.  Factory methods for each of these are 
 * provided in this class.
 * 
 */
@XmlRegistry
public class ObjectFactory {

    private final static QName _PolicySetIdReference_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "PolicySetIdReference");
    private final static QName _PolicyIdReference_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "PolicyIdReference");
    private final static QName _Attributes_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Attributes");
    private final static QName _Condition_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Condition");
    private final static QName _StatusCode_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "StatusCode");
    private final static QName _AttributeAssignmentExpression_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "AttributeAssignmentExpression");
    private final static QName _RuleCombinerParameters_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "RuleCombinerParameters");
    private final static QName _AssociatedAdvice_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "AssociatedAdvice");
    private final static QName _Decision_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Decision");
    private final static QName _ObligationExpression_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "ObligationExpression");
    private final static QName _PolicySetDefaults_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "PolicySetDefaults");
    private final static QName _AdviceExpressions_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "AdviceExpressions");
    private final static QName _Attribute_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Attribute");
    private final static QName _AttributeDesignator_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "AttributeDesignator");
    private final static QName _AnyOf_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "AnyOf");
    private final static QName _Obligations_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Obligations");
    private final static QName _Result_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Result");
    private final static QName _MultiRequests_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "MultiRequests");
    private final static QName _Obligation_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Obligation");
    private final static QName _Policy_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Policy");
    private final static QName _StatusDetail_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "StatusDetail");
    private final static QName _StatusMessage_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "StatusMessage");
    private final static QName _PolicySet_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "PolicySet");
    private final static QName _PolicyIssuer_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "PolicyIssuer");
    private final static QName _VariableReference_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "VariableReference");
    private final static QName _CombinerParameter_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "CombinerParameter");
    private final static QName _AttributeValue_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "AttributeValue");
    private final static QName _ObligationExpressions_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "ObligationExpressions");
    private final static QName _PolicySetCombinerParameters_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "PolicySetCombinerParameters");
    private final static QName _Request_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Request");
    private final static QName _MissingAttributeDetail_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "MissingAttributeDetail");
    private final static QName _RequestReference_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "RequestReference");
    private final static QName _PolicyDefaults_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "PolicyDefaults");
    private final static QName _PolicyIdentifierList_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "PolicyIdentifierList");
    private final static QName _XPathVersion_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "XPathVersion");
    private final static QName _Target_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Target");
    private final static QName _AttributeAssignment_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "AttributeAssignment");
    private final static QName _Content_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Content");
    private final static QName _CombinerParameters_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "CombinerParameters");
    private final static QName _Expression_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Expression");
    private final static QName _Apply_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Apply");
    private final static QName _VariableDefinition_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "VariableDefinition");
    private final static QName _Function_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Function");
    private final static QName _Match_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Match");
    private final static QName _Description_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Description");
    private final static QName _AdviceExpression_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "AdviceExpression");
    private final static QName _RequestDefaults_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "RequestDefaults");
    private final static QName _AttributeSelector_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "AttributeSelector");
    private final static QName _PolicyCombinerParameters_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "PolicyCombinerParameters");
    private final static QName _Advice_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Advice");
    private final static QName _Rule_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Rule");
    private final static QName _Response_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Response");
    private final static QName _Status_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "Status");
    private final static QName _AllOf_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "AllOf");
    private final static QName _AttributesReference_QNAME = new QName("urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", "AttributesReference");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.sun.identity.entitlement.xacml3.core
     * 
     */
    public ObjectFactory() {
    }

    /**
     * Create an instance of {@link MissingAttributeDetail }
     * 
     */
    public MissingAttributeDetail createMissingAttributeDetail() {
        return new MissingAttributeDetail();
    }

    /**
     * Create an instance of {@link VariableDefinition }
     * 
     */
    public VariableDefinition createVariableDefinition() {
        return new VariableDefinition();
    }

    /**
     * Create an instance of {@link Attribute }
     * 
     */
    public Attribute createAttribute() {
        return new Attribute();
    }

    /**
     * Create an instance of {@link PolicySet }
     * 
     */
    public PolicySet createPolicySet() {
        return new PolicySet();
    }

    /**
     * Create an instance of {@link StatusCode }
     * 
     */
    public StatusCode createStatusCode() {
        return new StatusCode();
    }

    /**
     * Create an instance of {@link Target }
     * 
     */
    public Target createTarget() {
        return new Target();
    }

    /**
     * Create an instance of {@link Match }
     * 
     */
    public Match createMatch() {
        return new Match();
    }

    /**
     * Create an instance of {@link AdviceExpressions }
     * 
     */
    public AdviceExpressions createAdviceExpressions() {
        return new AdviceExpressions();
    }

    /**
     * Create an instance of {@link CombinerParameters }
     * 
     */
    public CombinerParameters createCombinerParameters() {
        return new CombinerParameters();
    }

    /**
     * Create an instance of {@link IdReference }
     * 
     */
    public IdReference createIdReference() {
        return new IdReference();
    }

    /**
     * Create an instance of {@link StatusDetail }
     * 
     */
    public StatusDetail createStatusDetail() {
        return new StatusDetail();
    }

    /**
     * Create an instance of {@link AttributeAssignmentExpression }
     * 
     */
    public AttributeAssignmentExpression createAttributeAssignmentExpression() {
        return new AttributeAssignmentExpression();
    }

    /**
     * Create an instance of {@link Status }
     * 
     */
    public Status createStatus() {
        return new Status();
    }

    /**
     * Create an instance of {@link CombinerParameter }
     * 
     */
    public CombinerParameter createCombinerParameter() {
        return new CombinerParameter();
    }

    /**
     * Create an instance of {@link AllOf }
     * 
     */
    public AllOf createAllOf() {
        return new AllOf();
    }

    /**
     * Create an instance of {@link Result }
     * 
     */
    public Result createResult() {
        return new Result();
    }

    /**
     * Create an instance of {@link Obligations }
     * 
     */
    public Obligations createObligations() {
        return new Obligations();
    }

    /**
     * Create an instance of {@link AttributesReference }
     * 
     */
    public AttributesReference createAttributesReference() {
        return new AttributesReference();
    }

    /**
     * Create an instance of {@link AttributeValue }
     * 
     */
    public AttributeValue createAttributeValue() {
        return new AttributeValue();
    }

    /**
     * Create an instance of {@link RequestDefaults }
     * 
     */
    public RequestDefaults createRequestDefaults() {
        return new RequestDefaults();
    }

    /**
     * Create an instance of {@link PolicyCombinerParameters }
     * 
     */
    public PolicyCombinerParameters createPolicyCombinerParameters() {
        return new PolicyCombinerParameters();
    }

    /**
     * Create an instance of {@link PolicyIdentifierList }
     * 
     */
    public PolicyIdentifierList createPolicyIdentifierList() {
        return new PolicyIdentifierList();
    }

    /**
     * Create an instance of {@link Function }
     * 
     */
    public Function createFunction() {
        return new Function();
    }

    /**
     * Create an instance of {@link AnyOf }
     * 
     */
    public AnyOf createAnyOf() {
        return new AnyOf();
    }

    /**
     * Create an instance of {@link AdviceExpression }
     * 
     */
    public AdviceExpression createAdviceExpression() {
        return new AdviceExpression();
    }

    /**
     * Create an instance of {@link AttributeDesignator }
     * 
     */
    public AttributeDesignator createAttributeDesignator() {
        return new AttributeDesignator();
    }

    /**
     * Create an instance of {@link ObligationExpression }
     * 
     */
    public ObligationExpression createObligationExpression() {
        return new ObligationExpression();
    }

    /**
     * Create an instance of {@link AttributeAssignment }
     * 
     */
    public AttributeAssignment createAttributeAssignment() {
        return new AttributeAssignment();
    }

    /**
     * Create an instance of {@link PolicySetCombinerParameters }
     * 
     */
    public PolicySetCombinerParameters createPolicySetCombinerParameters() {
        return new PolicySetCombinerParameters();
    }

    /**
     * Create an instance of {@link RequestReference }
     * 
     */
    public RequestReference createRequestReference() {
        return new RequestReference();
    }

    /**
     * Create an instance of {@link Version }
     * 
     */
    public Version createVersion() {
        return new Version();
    }

    /**
     * Create an instance of {@link Obligation }
     * 
     */
    public Obligation createObligation() {
        return new Obligation();
    }

    /**
     * Create an instance of {@link Attributes }
     * 
     */
    public Attributes createAttributes() {
        return new Attributes();
    }

    /**
     * Create an instance of {@link AssociatedAdvice }
     * 
     */
    public AssociatedAdvice createAssociatedAdvice() {
        return new AssociatedAdvice();
    }

    /**
     * Create an instance of {@link Apply }
     * 
     */
    public Apply createApply() {
        return new Apply();
    }

    /**
     * Create an instance of {@link MultiRequests }
     * 
     */
    public MultiRequests createMultiRequests() {
        return new MultiRequests();
    }

    /**
     * Create an instance of {@link Request }
     * 
     */
    public Request createRequest() {
        return new Request();
    }

    /**
     * Create an instance of {@link Advice }
     * 
     */
    public Advice createAdvice() {
        return new Advice();
    }

    /**
     * Create an instance of {@link VariableReference }
     * 
     */
    public VariableReference createVariableReference() {
        return new VariableReference();
    }

    /**
     * Create an instance of {@link Rule }
     * 
     */
    public Rule createRule() {
        return new Rule();
    }

    /**
     * Create an instance of {@link VersionMatch }
     * 
     */
    public VersionMatch createVersionMatch() {
        return new VersionMatch();
    }

    /**
     * Create an instance of {@link Policy }
     * 
     */
    public Policy createPolicy() {
        return new Policy();
    }

    /**
     * Create an instance of {@link Defaults }
     * 
     */
    public Defaults createDefaults() {
        return new Defaults();
    }

    /**
     * Create an instance of {@link ObligationExpressions }
     * 
     */
    public ObligationExpressions createObligationExpressions() {
        return new ObligationExpressions();
    }

    /**
     * Create an instance of {@link AttributeSelector }
     * 
     */
    public AttributeSelector createAttributeSelector() {
        return new AttributeSelector();
    }

    /**
     * Create an instance of {@link PolicyIssuer }
     * 
     */
    public PolicyIssuer createPolicyIssuer() {
        return new PolicyIssuer();
    }

    /**
     * Create an instance of {@link Content }
     * 
     */
    public Content createContent() {
        return new Content();
    }

    /**
     * Create an instance of {@link Condition }
     * 
     */
    public Condition createCondition() {
        return new Condition();
    }

    /**
     * Create an instance of {@link Response }
     * 
     */
    public Response createResponse() {
        return new Response();
    }

    /**
     * Create an instance of {@link RuleCombinerParameters }
     * 
     */
    public RuleCombinerParameters createRuleCombinerParameters() {
        return new RuleCombinerParameters();
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link IdReference }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "PolicySetIdReference")
    public JAXBElement<IdReference> createPolicySetIdReference(IdReference value) {
        return new JAXBElement<IdReference>(_PolicySetIdReference_QNAME, IdReference.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link IdReference }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "PolicyIdReference")
    public JAXBElement<IdReference> createPolicyIdReference(IdReference value) {
        return new JAXBElement<IdReference>(_PolicyIdReference_QNAME, IdReference.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Attributes }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Attributes")
    public JAXBElement<Attributes> createAttributes(Attributes value) {
        return new JAXBElement<Attributes>(_Attributes_QNAME, Attributes.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Condition }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Condition")
    public JAXBElement<Condition> createCondition(Condition value) {
        return new JAXBElement<Condition>(_Condition_QNAME, Condition.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link StatusCode }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "StatusCode")
    public JAXBElement<StatusCode> createStatusCode(StatusCode value) {
        return new JAXBElement<StatusCode>(_StatusCode_QNAME, StatusCode.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AttributeAssignmentExpression }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "AttributeAssignmentExpression")
    public JAXBElement<AttributeAssignmentExpression> createAttributeAssignmentExpression(AttributeAssignmentExpression value) {
        return new JAXBElement<AttributeAssignmentExpression>(_AttributeAssignmentExpression_QNAME, AttributeAssignmentExpression.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link RuleCombinerParameters }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "RuleCombinerParameters")
    public JAXBElement<RuleCombinerParameters> createRuleCombinerParameters(RuleCombinerParameters value) {
        return new JAXBElement<RuleCombinerParameters>(_RuleCombinerParameters_QNAME, RuleCombinerParameters.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AssociatedAdvice }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "AssociatedAdvice")
    public JAXBElement<AssociatedAdvice> createAssociatedAdvice(AssociatedAdvice value) {
        return new JAXBElement<AssociatedAdvice>(_AssociatedAdvice_QNAME, AssociatedAdvice.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link DecisionType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Decision")
    public JAXBElement<DecisionType> createDecision(DecisionType value) {
        return new JAXBElement<DecisionType>(_Decision_QNAME, DecisionType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ObligationExpression }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "ObligationExpression")
    public JAXBElement<ObligationExpression> createObligationExpression(ObligationExpression value) {
        return new JAXBElement<ObligationExpression>(_ObligationExpression_QNAME, ObligationExpression.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Defaults }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "PolicySetDefaults")
    public JAXBElement<Defaults> createPolicySetDefaults(Defaults value) {
        return new JAXBElement<Defaults>(_PolicySetDefaults_QNAME, Defaults.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AdviceExpressions }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "AdviceExpressions")
    public JAXBElement<AdviceExpressions> createAdviceExpressions(AdviceExpressions value) {
        return new JAXBElement<AdviceExpressions>(_AdviceExpressions_QNAME, AdviceExpressions.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Attribute }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Attribute")
    public JAXBElement<Attribute> createAttribute(Attribute value) {
        return new JAXBElement<Attribute>(_Attribute_QNAME, Attribute.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AttributeDesignator }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "AttributeDesignator", substitutionHeadNamespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", substitutionHeadName = "Expression")
    public JAXBElement<AttributeDesignator> createAttributeDesignator(AttributeDesignator value) {
        return new JAXBElement<AttributeDesignator>(_AttributeDesignator_QNAME, AttributeDesignator.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AnyOf }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "AnyOf")
    public JAXBElement<AnyOf> createAnyOf(AnyOf value) {
        return new JAXBElement<AnyOf>(_AnyOf_QNAME, AnyOf.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Obligations }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Obligations")
    public JAXBElement<Obligations> createObligations(Obligations value) {
        return new JAXBElement<Obligations>(_Obligations_QNAME, Obligations.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Result }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Result")
    public JAXBElement<Result> createResult(Result value) {
        return new JAXBElement<Result>(_Result_QNAME, Result.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link MultiRequests }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "MultiRequests")
    public JAXBElement<MultiRequests> createMultiRequests(MultiRequests value) {
        return new JAXBElement<MultiRequests>(_MultiRequests_QNAME, MultiRequests.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Obligation }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Obligation")
    public JAXBElement<Obligation> createObligation(Obligation value) {
        return new JAXBElement<Obligation>(_Obligation_QNAME, Obligation.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Policy }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Policy")
    public JAXBElement<Policy> createPolicy(Policy value) {
        return new JAXBElement<Policy>(_Policy_QNAME, Policy.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link StatusDetail }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "StatusDetail")
    public JAXBElement<StatusDetail> createStatusDetail(StatusDetail value) {
        return new JAXBElement<StatusDetail>(_StatusDetail_QNAME, StatusDetail.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "StatusMessage")
    public JAXBElement<String> createStatusMessage(String value) {
        return new JAXBElement<String>(_StatusMessage_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link PolicySet }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "PolicySet")
    public JAXBElement<PolicySet> createPolicySet(PolicySet value) {
        return new JAXBElement<PolicySet>(_PolicySet_QNAME, PolicySet.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link PolicyIssuer }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "PolicyIssuer")
    public JAXBElement<PolicyIssuer> createPolicyIssuer(PolicyIssuer value) {
        return new JAXBElement<PolicyIssuer>(_PolicyIssuer_QNAME, PolicyIssuer.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link VariableReference }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "VariableReference", substitutionHeadNamespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", substitutionHeadName = "Expression")
    public JAXBElement<VariableReference> createVariableReference(VariableReference value) {
        return new JAXBElement<VariableReference>(_VariableReference_QNAME, VariableReference.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link CombinerParameter }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "CombinerParameter")
    public JAXBElement<CombinerParameter> createCombinerParameter(CombinerParameter value) {
        return new JAXBElement<CombinerParameter>(_CombinerParameter_QNAME, CombinerParameter.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AttributeValue }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "AttributeValue", substitutionHeadNamespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", substitutionHeadName = "Expression")
    public JAXBElement<AttributeValue> createAttributeValue(AttributeValue value) {
        return new JAXBElement<AttributeValue>(_AttributeValue_QNAME, AttributeValue.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ObligationExpressions }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "ObligationExpressions")
    public JAXBElement<ObligationExpressions> createObligationExpressions(ObligationExpressions value) {
        return new JAXBElement<ObligationExpressions>(_ObligationExpressions_QNAME, ObligationExpressions.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link PolicySetCombinerParameters }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "PolicySetCombinerParameters")
    public JAXBElement<PolicySetCombinerParameters> createPolicySetCombinerParameters(PolicySetCombinerParameters value) {
        return new JAXBElement<PolicySetCombinerParameters>(_PolicySetCombinerParameters_QNAME, PolicySetCombinerParameters.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Request }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Request")
    public JAXBElement<Request> createRequest(Request value) {
        return new JAXBElement<Request>(_Request_QNAME, Request.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link MissingAttributeDetail }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "MissingAttributeDetail")
    public JAXBElement<MissingAttributeDetail> createMissingAttributeDetail(MissingAttributeDetail value) {
        return new JAXBElement<MissingAttributeDetail>(_MissingAttributeDetail_QNAME, MissingAttributeDetail.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link RequestReference }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "RequestReference")
    public JAXBElement<RequestReference> createRequestReference(RequestReference value) {
        return new JAXBElement<RequestReference>(_RequestReference_QNAME, RequestReference.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Defaults }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "PolicyDefaults")
    public JAXBElement<Defaults> createPolicyDefaults(Defaults value) {
        return new JAXBElement<Defaults>(_PolicyDefaults_QNAME, Defaults.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link PolicyIdentifierList }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "PolicyIdentifierList")
    public JAXBElement<PolicyIdentifierList> createPolicyIdentifierList(PolicyIdentifierList value) {
        return new JAXBElement<PolicyIdentifierList>(_PolicyIdentifierList_QNAME, PolicyIdentifierList.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "XPathVersion")
    public JAXBElement<String> createXPathVersion(String value) {
        return new JAXBElement<String>(_XPathVersion_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Target }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Target")
    public JAXBElement<Target> createTarget(Target value) {
        return new JAXBElement<Target>(_Target_QNAME, Target.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AttributeAssignment }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "AttributeAssignment")
    public JAXBElement<AttributeAssignment> createAttributeAssignment(AttributeAssignment value) {
        return new JAXBElement<AttributeAssignment>(_AttributeAssignment_QNAME, AttributeAssignment.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Content }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Content")
    public JAXBElement<Content> createContent(Content value) {
        return new JAXBElement<Content>(_Content_QNAME, Content.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link CombinerParameters }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "CombinerParameters")
    public JAXBElement<CombinerParameters> createCombinerParameters(CombinerParameters value) {
        return new JAXBElement<CombinerParameters>(_CombinerParameters_QNAME, CombinerParameters.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Expression }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Expression")
    public JAXBElement<Expression> createExpression(Expression value) {
        return new JAXBElement<Expression>(_Expression_QNAME, Expression.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Apply }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Apply", substitutionHeadNamespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", substitutionHeadName = "Expression")
    public JAXBElement<Apply> createApply(Apply value) {
        return new JAXBElement<Apply>(_Apply_QNAME, Apply.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link VariableDefinition }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "VariableDefinition")
    public JAXBElement<VariableDefinition> createVariableDefinition(VariableDefinition value) {
        return new JAXBElement<VariableDefinition>(_VariableDefinition_QNAME, VariableDefinition.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Function }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Function", substitutionHeadNamespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", substitutionHeadName = "Expression")
    public JAXBElement<Function> createFunction(Function value) {
        return new JAXBElement<Function>(_Function_QNAME, Function.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Match }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Match")
    public JAXBElement<Match> createMatch(Match value) {
        return new JAXBElement<Match>(_Match_QNAME, Match.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Description")
    public JAXBElement<String> createDescription(String value) {
        return new JAXBElement<String>(_Description_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AdviceExpression }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "AdviceExpression")
    public JAXBElement<AdviceExpression> createAdviceExpression(AdviceExpression value) {
        return new JAXBElement<AdviceExpression>(_AdviceExpression_QNAME, AdviceExpression.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link RequestDefaults }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "RequestDefaults")
    public JAXBElement<RequestDefaults> createRequestDefaults(RequestDefaults value) {
        return new JAXBElement<RequestDefaults>(_RequestDefaults_QNAME, RequestDefaults.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AttributeSelector }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "AttributeSelector", substitutionHeadNamespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", substitutionHeadName = "Expression")
    public JAXBElement<AttributeSelector> createAttributeSelector(AttributeSelector value) {
        return new JAXBElement<AttributeSelector>(_AttributeSelector_QNAME, AttributeSelector.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link PolicyCombinerParameters }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "PolicyCombinerParameters")
    public JAXBElement<PolicyCombinerParameters> createPolicyCombinerParameters(PolicyCombinerParameters value) {
        return new JAXBElement<PolicyCombinerParameters>(_PolicyCombinerParameters_QNAME, PolicyCombinerParameters.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Advice }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Advice")
    public JAXBElement<Advice> createAdvice(Advice value) {
        return new JAXBElement<Advice>(_Advice_QNAME, Advice.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Rule }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Rule")
    public JAXBElement<Rule> createRule(Rule value) {
        return new JAXBElement<Rule>(_Rule_QNAME, Rule.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Response }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Response")
    public JAXBElement<Response> createResponse(Response value) {
        return new JAXBElement<Response>(_Response_QNAME, Response.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Status }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "Status")
    public JAXBElement<Status> createStatus(Status value) {
        return new JAXBElement<Status>(_Status_QNAME, Status.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AllOf }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "AllOf")
    public JAXBElement<AllOf> createAllOf(AllOf value) {
        return new JAXBElement<AllOf>(_AllOf_QNAME, AllOf.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AttributesReference }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17", name = "AttributesReference")
    public JAXBElement<AttributesReference> createAttributesReference(AttributesReference value) {
        return new JAXBElement<AttributesReference>(_AttributesReference_QNAME, AttributesReference.class, null, value);
    }

}
